/********************************************
*
*
*
*  test_msg.c
*
*
********************************************/


#ifdef __cplusplus
 #if __cplusplus
  extern "C"{
 #endif
#endif /* __cplusplus */

#include "test_suite.h"
#include "d_msg.h"

UINT32 TEST_DMS_MsgAlloc_00()
{
    UINT32 uli;
    DMS_MSG_HEAD * pMsg[1024];

    for(uli = 0 ;uli < 1024; uli++ )
    {
        pMsg[uli] = DMS_MsgAlloc(sizeof(DMS_MSG_HEAD));
        CU_UNEQUAL(NULL, pMsg[uli]);
    }

    DMS_CacheInfoShow(0);


    for(uli = 0 ;uli < 1024; uli++ )
    {
        CU_EQUAL(DMS_OK, DMS_MsgFree(pMsg[uli]));
    }

    DMS_CacheInfoShow(0);

    return DMS_OK;
}

UINT32 TEST_DMS_MsgAlloc_01()
{
    UINT32 uli;
    DMS_MSG_HEAD * pMsg[1024];

    for(uli = 0 ;uli < 1024; uli++ )
    {
        pMsg[uli] = DMS_MsgAlloc(sizeof(DMS_MSG_HEAD));
        CU_UNEQUAL(NULL, pMsg[uli]);
    }

    DMS_CacheInfoShow(0);

    for(uli = 0 ;uli < 1024; uli++ )
    {
        CU_EQUAL(DMS_OK, DMS_MsgFree(pMsg[1023 - uli]));
    }

    DMS_CacheInfoShow(0);

    return DMS_OK;
}

UINT32 TEST_DMS_MsgAlloc_02()
{


    return DMS_OK;
}

UINT32 TEST_DMS_MsgAlloc_03()
{

    return DMS_OK;
}

UINT32 TEST_DMS_MsgFree_00()
{

    return DMS_OK;
}

UINT32 TEST_DMS_MsgFree_01()
{

    return DMS_OK;
}

UINT32 TEST_DMS_MsgFree_02()
{

    return DMS_OK;
}

UINT32 TEST_DMS_MsgFree_03()
{

    return DMS_OK;
}

VOID TEST_DMS_MsgAlloc()
{
    CU_ASSERT_EQUAL(TEST_DMS_MsgAlloc_00(),DMS_OK);
    CU_ASSERT_EQUAL(TEST_DMS_MsgAlloc_01(),DMS_OK);
    CU_ASSERT_EQUAL(TEST_DMS_MsgAlloc_02(),DMS_OK);
    CU_ASSERT_EQUAL(TEST_DMS_MsgAlloc_03(),DMS_OK);
}


VOID TEST_DMS_MsgFree()
{
    CU_ASSERT_EQUAL(TEST_DMS_MsgFree_00(),DMS_OK);
    CU_ASSERT_EQUAL(TEST_DMS_MsgFree_01(),DMS_OK);
    CU_ASSERT_EQUAL(TEST_DMS_MsgFree_02(),DMS_OK);
    CU_ASSERT_EQUAL(TEST_DMS_MsgFree_03(),DMS_OK);
}

VOID TEST_suite_msg(VOID)
{
    CU_pSuite suite;
    suite = CU_add_suite(__FUNCTION__, NULL, NULL);
    CU_ADD_TEST(suite, TEST_DMS_MsgAlloc);
    CU_ADD_TEST(suite, TEST_DMS_MsgFree);
}

#ifdef __cplusplus
 #if __cplusplus
  }
 #endif
#endif /* __cplusplus */
